Digital clock algorithm